home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCMania 21
/
PCMania CD21.nrg
/
pcmania
/
magia21
/
programa.bas
< prev
Wrap
BASIC Source File
|
1994-04-28
|
3KB
|
75 lines
'El mundo de la margaritas
SCREEN 9
COLOR , 3 'Se define el color de la parte superior del monitor
LINE (0, 210)-(639, 210), 1
PAINT (300, 300), 1, 1 'Se define el color de la parte inferior
LINE (0, 330)-(640, 330) 'Esta línea señala 0º C de temperatura
'Se asignan valores a las variables y constantes
luminosidad! = .3 'Luminosidad inicial del Sol
albedo! = .5 'Albedo del suelo desnudo
incremento! = .03 'Incremento de la luminosidad en cada vuelta del bucle
DIM suma%(15) 'Se dimensionan los colores de las margaritas
'Se calcula la temperatura anterior en un planeta sin y con
'margaritas respectivamente
temperatura1a! = 50 * (luminosidad! - incremento!) - 20
temperatura2a! = 50 * (luminosidad! - incremento!) - 20
'Empieza el bucle principal
DO
contador% = contador% + 1
'Se calcula la temperatura en ausencia de margaritas
temperatura1! = 50 * luminosidad! - 20
'Ahora la temperatura en un planeta con margaritas
temperatura2! = 25 * luminosidad! / albedo! - 20
'Se imprimen ambos valores en pantalla
LOCATE 16, 1: COLOR 15: PRINT "Temperatura sin margaritas "; INT(temperatura1! * 100) / 100
LOCATE 17, 1: COLOR 15: PRINT "Temperatura con margaritas "; INT(temperatura2! * 100) / 100
sumatotal% = 0
ERASE suma%
'Se abre un bucle doble para asignar un color a cada margarita
'según la temperatura
FOR a% = 1 TO 15 'Anchura
FOR l% = 1 TO 80 'Longitud
n! = RND
'num% es el número del color
num% = INT(temperatura1! / 5 + 2 * (n! - .5)) + 7
'Si el color es menor que 8 (negro) o mayor que 15 (blanco)
'la temperatura es muy baja o muy alta para que crezcan
'margaritas, asi que se pintan del color del suelo
IF num% < 8 OR num% > 15 THEN num% = 3
LOCATE a%, l%: COLOR num%: PRINT CHR$(5)
suma%(num%) = suma%(num%) + 1
NEXT
NEXT
'Se suman los albedos de todas las margaritas
FOR num% = 8 TO 15
sumatotal% = sumatotal% + suma%(num%) * (.33 + .067 * (num% - 8))
NEXT
'Se calcula el albedo promedio, tomando en cuenta también el del suelo
albedo! = (sumatotal% + suma%(3) * .5) / 1200
'Se muestra la gráfica de ambas temperaturas
LINE ((contador% - 1) * 533 * incremento!, 330 - temperatura1a!)-(contador% * 533 * incremento!, 330 - temperatura1!), 4
LINE ((contador% - 1) * 533 * incremento!, 330 - temperatura2a!)-(contador% * 533 * incremento!, 330 - temperatura2!), 2
luminosidad! = luminosidad! + incremento!
temperatura1a! = temperatura1!
temperatura2a! = temperatura2!
a$ = INKEY$
LOOP WHILE a$ = ""